package com.itheima.service;

import com.itheima.dto.PutStatusDTO;
import com.itheima.entity.Order;
import com.itheima.vo.OrderPageResultVO;
import com.itheima.vo.OrderPageVO;
import org.springframework.transaction.annotation.Transactional;
/**
 *订单模块业务层实现接口
 * @author msi
 * @date 2022/5/17
 * @version 1.0
 */
@Transactional(rollbackFor =Exception.class )
public interface OrderService {

    /**
     * 订单分页查询
     * @param beginTime 开始时间
     * @param endTime 结束时间
     * @param number 数量
     * @param page 页码
     * @param pageSize 每页数量
     * @return 分页查询包装对象
     */
    OrderPageVO getPageList(String beginTime, String endTime, String number, Integer page, Integer pageSize);

    /**
     * 订单分页列表 手机端
     * @param page 页码
     * @param pageSize 每页数量
     * @return 分页查询包装对象
     */
    OrderPageResultVO getPageList(Integer page, Integer pageSize);

    /**
     * 修改订单状态  1 未付款 2 正在派送 3 派送完成 4 订单完成
     * @param putStatusDTO 订单对象
     * @return 结果
     */
    Boolean updateStatus(PutStatusDTO putStatusDTO);

    /**
     * 提交订单
     * @param order 订单对象
     * @return 结果
     */
    Boolean insert(Order order);
}
